package com.glsc.ngateway.common.base.enums.itflow;


import lombok.AllArgsConstructor;
import lombok.Getter;
import org.apache.logging.log4j.util.Strings;

import java.util.Arrays;

/**
 * 流程配置类别
 *
 * @author xuchang
 */
@Getter
@AllArgsConstructor
public enum FlowConfigConfigTypeEnum {
    /**
     * 同步OA流程
     */
    OA_SYNC("OA_SYNC", "同步OA流程"),
    /**
     * 节点处理人
     */
    TASK_ASSIGNEE("TASK_ASSIGNEE", "节点处理人"),
    /**
     * 节点变量
     */
    CONDITIONAL_VARIABLE("CONDITIONAL_VARIABLE", "节点变量"),
    /**
     * 流程表单编辑设置
     */
    FORM_EDIT_FIELDS("FORM_EDIT_FIELDS", "流程表单编辑设置"),
    ;
    /**
     * 编码
     */
    private final String code;
    /**
     * 描述
     */
    private final String desc;

    public static FlowConfigConfigTypeEnum seek(String code) {
        if (Strings.isBlank(code)) {
            return null;
        }
        return Arrays.stream(values()).filter(e -> code.equals(e.getCode())).findFirst().orElseThrow();
    }
}

